﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IDiplomProjectStateRepository.cs" company="">
//   Copyright (c) 2010/2011 All Right Reserved
// </copyright>
// <summary>
//   Contains IDiplomProjectStateRepository class declaration.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace iBuproModel.Repositories.Interfaces
{
    /// <summary>
    /// Interface for diplom project state repository.
    /// </summary>
    public interface IDiplomProjectStateRepository : IGenericRepository<DiplomProjectState>
    {
        DiplomProjectState GetNewProjectState();

        DiplomProjectState GetBookedProjectState();

        DiplomProjectState GetLectorAcceptedProjectState();

        DiplomProjectState GetSubscribedProjectState();

        DiplomProjectState GetCanceledProjectState();

        DiplomProjectState GetDefendedProjectState();

        void SetNewProjectState(DiplomProject project);

        void SetBookedProjectState(DiplomProject project);

        void SetLectorAcceptedState(DiplomProject project);

        void SetSubscribedState(DiplomProject project);

        void SetCanceledState(DiplomProject project);

        void SetDefendedState(DiplomProject project);
    }
}
